home *** CD-ROM | disk | FTP | other *** search
/ C & C++ Multimedia Cyber Classroom / C and C++ Multimedia Cyber Classroom (Prentice Hall) (1998).iso / src / fig06_08.jar / Ch06 / Fig06_08 / Time2.cpp < prev    next >
C/C++ Source or Header  |  1997-10-27  |  1KB  |  35 lines

  1. // Fig. 6.8: time2.cpp
  2. // Member function definitions for Time class.
  3. #include <iostream.h>
  4. #include "time2.h"
  5.  
  6. // Time constructor initializes each data member to zero.
  7. // Ensures all Time objects start in a consistent state.
  8. Time::Time( int hr, int min, int sec ) 
  9.    { setTime( hr, min, sec ); }
  10.  
  11. // Set a new Time value using military time. Perform validity 
  12. // checks on the data values. Set invalid values to zero.
  13. void Time::setTime( int h, int m, int s )
  14. {
  15.    hour   = ( h >= 0 && h < 24 ) ? h : 0;
  16.    minute = ( m >= 0 && m < 60 ) ? m : 0;
  17.    second = ( s >= 0 && s < 60 ) ? s : 0;
  18. }
  19.  
  20. // Print Time in military format
  21. void Time::printMilitary()
  22. {
  23.    cout << ( hour < 10 ? "0" : "" ) << hour << ":"
  24.         << ( minute < 10 ? "0" : "" ) << minute;
  25. }
  26.  
  27. // Print Time in standard format
  28. void Time::printStandard()
  29. {
  30.    cout << ( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 )
  31.         << ":" << ( minute < 10 ? "0" : "" ) << minute
  32.         << ":" << ( second < 10 ? "0" : "" ) << second
  33.         << ( hour < 12 ? " AM" : " PM" );
  34. }
  35.